#include <iostream>
#include <windows.h>
#include <conio.h>
#include "share.h"

using namespace std;

// 设置控制台颜色（白色）
// void SetColor(int color = 15) {
//     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
// }

// 设置光标位置
void SetPosition1(short x, short y) {
    COORD pos = { x, y };
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}

// 清屏


// 绘制游戏边框
void DrawBorder1() {
    // 上边框
    SetPosition1(0, 0);
    cout << "╔";
    for (int i = 0; i < 78; i++) cout << "═";
    cout << "╗";

    // 侧边框
    for (int i = 1; i < 39; i++) {
        SetPosition1(0, i);
        cout << "║";
        SetPosition1(79, i);
        cout << "║";
    }

    // 下边框
    SetPosition1(0, 39);
    cout << "╚";
    for (int i = 0; i < 78; i++) cout << "═";
    cout << "╝";
}

// 打印蛇的字符画
void printscore1() {
    int iscore;
    iscore = peak_score - score;//score是最高分和当前分的差距!!!!
    // 居中显示话语
    SetPosition1(20, 19);
    cout << "继续努力吧~你离最高分还差:" << iscore << endl;
    SetPosition1(24, 22);
    cout << "按'1'重新开始游戏" << endl;
    SetPosition1(24, 23);
    cout << "按'2'返回主菜单" << endl;
}

// 封装后的主逻辑函数
void end1() {
    // 设置控制台窗口大小
    system("mode con cols=100 lines=80");

    // 隐藏光标
    DrawBorder1();
    CONSOLE_CURSOR_INFO cursor_info = { 1, 0 };
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

    printscore1();
}

void printscore2() {
    // 居中显示话语
    SetPosition1(20, 19);
    cout << "创纪录啦！最高分被你刷新啦，真棒！！！" ;
    SetPosition1(24, 22);
    cout << "按'1'重新开始游戏" << endl;
    SetPosition1(24, 23);
    cout << "按'2'返回主菜单" << endl;
}

// 封装后的主逻辑函数
void end2() {
    // 设置控制台窗口大小
    system("mode con cols=100 lines=80");
    DrawBorder1();
    // 隐藏光标
    CONSOLE_CURSOR_INFO cursor_info = { 1, 0 };
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

    printscore2();
}